package com.am.entity;

import com.am.util.UserShapes;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * 画布
 *
 * @Author : ArturiaMu KMUST-Stu
 * @Date : 2022/11/4 21:40
 * @Params : @param null
 * @Exception :
 * @Return :
 * @Description ：
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Canvas {
    /**
     * 画布名
     */
    String name;
    /**
     * 操作列表
     */
    List<Shape> shapes;

    /**
     * 每个用户的操作列表
     */
    HashMap<String, UserShapes> userShapes = new HashMap<>();

    /**
     * 用户是否可以在当前画布上绘画
     */
    Boolean chmod = true;

    public Canvas(String name) {
        this.name = name;
        this.shapes = new ArrayList<>();
    }

    public void addShape(Shape shape) {
        this.shapes.add(shape);
    }

    public void delShape(Shape shape) {
        this.shapes.remove(shape);
    }
}
